﻿/***************************************************************
 * 开发人员：网魂小兵@http://www.mozlite.com
 * 
 * 后台服务数据提供者。
 * 
 * 最后修改：2011-10-31
 * ************************************************************/
namespace Mozlite.Common
{
    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.Data.Common;

    /// <summary>
    /// 后台服务数据提供者。
    /// </summary>
    public abstract class TaskDataProvider : Data.ProviderBase<TaskDataProvider>
    {
        /// <summary>
        /// 初始化<see cref="T:Mozlite.Common.TaskDataProvider"/>类。
        /// </summary>
        /// <param name="factory">数据库提供者工厂类。</param>
        protected TaskDataProvider(DbProviderFactory factory) : base(factory) { }
        /// <summary>
        /// 设置任务最后执行时间。
        /// </summary>
        /// <param name="type">任务类型，唯一标识。</param>
        /// <param name="lastExecuteTime">最后执行时间。</param>
        public abstract void SetLastExecuteTime(string type, DateTime lastExecuteTime);
        /// <summary>
        /// 加载所有最后执行任务时间。
        /// </summary>
        /// <returns>返回所有最后执行任务时间。</returns>
        public abstract Dictionary<string, DateTime> LoadLastExecuteTimes();
    }
}
